package com.rfid.businness;

import java.sql.SQLException;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.rfid.dao.interfaces.UsuarioDao;

import com.rfid.domain.Usuario;

@Service
public class UsuarioBusinness {

	@Autowired
	private UsuarioDao usuarioDao;

	@Autowired
	private Usuario usuario;

	public Usuario loginUser(String nombreUsuario, String contrasena) {
		try {
			usuario = usuarioDao.login(nombreUsuario, contrasena);
			return usuario;
		}
		catch (SQLException e) {
			e.printStackTrace();
			return null;
		}
		catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}

	public Usuario insertUser(String nombreUsuario, String contrasena, String apellidos,
			String nombres, boolean estado, String dni, String correo, String fechaNacimiento) {
		usuario.setNombreUsuario(nombreUsuario);
		usuario.setContrasena(contrasena);
		usuario.setApellidos(apellidos);
		usuario.setNombres(nombres);
		usuario.setEstado(estado);
		usuario.setDni(dni);
		usuario.setCorreo(correo);
		usuario.setFechaNacimiento(fechaNacimiento);
		try {
			usuario = usuarioDao.insertar(usuario);
			return usuario;
		}
		catch (SQLException e) {
			e.printStackTrace();
			return null;
		}
		catch (Exception e) {
			e.printStackTrace();
			return null;
		}
	}
	
	public void insertUserRol(int idUsuario, String nombreRol){
		try {
			usuarioDao.insertRolUsuario(idUsuario, nombreRol);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
	}}
	
	public List<Usuario> listarPorNombre(String nombre) {
		try {
			usuarioDao.listarPorNombre(nombre);
			List<Usuario> lstUsuario = usuarioDao.listarPorNombre(nombre);
			return lstUsuario;
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return null;
		} catch(Exception e){
			e.printStackTrace();
			return null;
		}

	}public List<Usuario> listarPorApellido(String nombre) {
		try {
			usuarioDao.listarPorNombre(nombre);
			List<Usuario> lstUsuario = usuarioDao.listarPorNombre(nombre);
			return lstUsuario;
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return null;
		} catch(Exception e){
			e.printStackTrace();
			return null;
		}
	}}
